home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 January: Mac OS SDK / Dev.CD Jan 98 SDK1.toast / Development Kits (Disc 1) / MacTCP / MacTCP Developer Tools / 802 LAP / MacTCPCommonTypes.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-11-21  |  3.2 KB  |  107 lines  |  [TEXT/MPS ]

  1. /* 
  2.     MacTCPCommonTypes.h  
  3.     C type definitions used throughout MacTCP.
  4.  
  5.     Copyright Apple Computer, Inc. 1988 
  6.     All rights reserved
  7. */
  8.  
  9. #ifndef __TYPES__
  10. #include <Types.h>
  11. #endif /* __TYPES__ */
  12.  
  13. /* MacTCP return Codes in the range -23000 through -23049 */
  14. #define inProgress                1                /* I/O in progress */
  15.  
  16. #define ipBadLapErr                -23000            /* bad network configuration */
  17. #define ipBadCnfgErr            -23001            /* bad IP configuration error */
  18. #define ipNoCnfgErr                -23002            /* missing IP or LAP configuration error */
  19. #define ipLoadErr                -23003            /* error in MacTCP load */
  20. #define ipBadAddr                -23004            /* error in getting address */
  21. #define connectionClosing        -23005            /* connection is closing */
  22. #define invalidLength            -23006
  23. #define connectionExists        -23007            /* request conflicts with existing connection */
  24. #define connectionDoesntExist    -23008            /* connection does not exist */
  25. #define insufficientResources    -23009            /* insufficient resources to perform request */
  26. #define invalidStreamPtr        -23010
  27. #define streamAlreadyOpen        -23011
  28. #define connectionTerminated    -23012
  29. #define invalidBufPtr            -23013
  30. #define invalidRDS                -23014
  31. #define invalidWDS                -23014
  32. #define openFailed                -23015
  33. #define commandTimeout            -23016
  34. #define duplicateSocket            -23017
  35.  
  36. /* Error codes from internal IP functions */
  37. #define ipDontFragErr            -23032            /* Packet too large to send w/o fragmenting */
  38. #define ipDestDeadErr            -23033            /* destination not responding */
  39. #define ipNoFragMemErr            -23036            /* no memory to send fragmented pkt */
  40. #define ipRouteErr                -23037            /* can't route packet off-net */
  41.  
  42. #define nameSyntaxErr             -23041        
  43. #define cacheFault                -23042
  44. #define noResultProc            -23043
  45. #define noNameServer            -23044
  46. #define authNameErr                -23045
  47. #define noAnsErr                -23046
  48. #define dnrErr                    -23047
  49. #define    outOfMemory                -23048
  50.  
  51. #define BYTES_16WORD               2                /* bytes per 16 bit ip word */
  52. #define BYTES_32WORD            4                /* bytes per 32 bit ip word */
  53. #define BYTES_64WORD            8                /* bytes per 64 bit ip word */
  54.  
  55. typedef unsigned char b_8;                /* 8-bit quantity */
  56. typedef unsigned short b_16;            /* 16-bit quantity */
  57. typedef unsigned long b_32;                /* 32-bit quantity */
  58.  
  59. typedef b_32 ip_addr;                    /* IP address is 32-bits */
  60.  
  61. typedef struct ip_addrbytes {
  62.     union {
  63.         b_32 addr;
  64.         char byte[4];
  65.         } a;
  66.     } ip_addrbytes;
  67.     
  68. typedef struct wdsEntry {
  69.     unsigned short    length;                        /* length of buffer */
  70.     char *    ptr;                        /* pointer to buffer */
  71.     } wdsEntry;
  72.  
  73. typedef struct rdsEntry {
  74.     unsigned short    length;                        /* length of buffer */
  75.     char *    ptr;                        /* pointer to buffer */
  76.     } rdsEntry;
  77.  
  78. typedef unsigned long BufferPtr;
  79.  
  80. typedef unsigned long StreamPtr;
  81.  
  82. typedef enum ICMPMsgType {
  83.     netUnreach, hostUnreach, protocolUnreach, portUnreach, fragReqd,
  84.     sourceRouteFailed, timeExceeded, parmProblem, missingOption,
  85.     lastICMPMsgType = 65535
  86.     } ICMPMsgType;
  87.     
  88. typedef b_16 ip_port;
  89.  
  90. typedef struct ICMPReport {
  91.     StreamPtr streamPtr;
  92.     ip_addr localHost;
  93.     ip_port localPort;
  94.     ip_addr remoteHost;
  95.     ip_port remotePort;
  96.     enum ICMPMsgType reportType;
  97.     unsigned short optionalAddlInfo;
  98.     unsigned long optionalAddlInfoPtr;
  99.     } ICMPReport;
  100.     
  101.  
  102. typedef OSErr (*OSErrProcPtr)();
  103. typedef Ptr (*PtrProcPtr)();
  104. typedef Boolean (*BooleanProcPtr)();
  105. typedef void (*voidProcPtr)();
  106.  
  107.